from jinja2 import Template

a = 1
# 两种方式引用变量
s1 = "今天吃了 {} 颗糖".format(a)
s2 = f"今天吃了 {a} 颗糖"

# 但现在我想引用的是字典里面 key 对应的 value 我该如何做?
# 方法一: 使用字典的 .get(key) 方法得到 value

# 但是这里使用方法二, 模板渲染
data = {"name": "张三", "age" : 18}

    # 使用格式 {{key}}  key值不能错, 要一一对应
t = Template("我的名字是 {{name}}, 我的年龄是 {{age}}")
print(t.render(data))

    # 简写为
new_data = Template("我的名字是 {{name}}, 我的年龄是 {{age}}").render(data)
print(new_data)

# 注, 实际应用时, 传入的测试数据是字典类型, 上面也看到了需要是字符串类型, 因此需要先把数据转为字符串
# 渲染完毕后, 还需要把结果使用 eval()方法, 重新转为字典类型